package SourceCode.FunctionInterface.code;

import java.util.Objects;
import java.util.function.Consumer;

/**
 * @Description 接受一个泛型参数，无返回值
 * @Author bloodcolding
 * @Date 2021/01/23 5:23 PM
 */
public class ImpConsumer<T> implements Consumer<T> {

    /**
     * 接受一个参数，操作之后无返回值
     *
     * @param t
     */
    @Override
    public void accept(T t) {

    }

    /**
     * 当前accept()之后使用after的accept
     *
     * @param after
     * @return
     */
    @Override
    public Consumer<T> andThen(Consumer<? super T> after) {
        Objects.requireNonNull(after);
        return (T t) -> {
            accept(t);
            after.accept(t);
        };
    }
}
